package org.someone.settlement;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class SettlementTemplate implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 4686269123598464960L;
	private Map<String,String> paraMap;
	private Map<String,String> roundModeMap;
	private Map<String,String> roundMap;
	private List<Map<String,String>> GroupList;
	private List<Map<String,String>> PriceTermsList;
	private List<Map<String,String>> DeductionList;

	
	public Map<String, String> getParaMap() {
		return paraMap;
	}
	public void setParaMap(Map<String, String> paraMap) {
		this.paraMap = paraMap;
	}
	
	public Map<String, String> getRoundModeMap() {
		return roundModeMap;
	}
	public void setRoundModeMap(Map<String, String> roundModeMap) {
		this.roundModeMap = roundModeMap;
	}
	public Map<String, String> getRoundMap() {
		return roundMap;
	}
	public void setRoundMap(Map<String, String> roundMap) {
		this.roundMap = roundMap;
	}
	public List<Map<String, String>> getGroupList() {
		return GroupList;
	}
	public void setGroupList(List<Map<String, String>> groupList) {
		GroupList = groupList;
	}
	public List<Map<String, String>> getPriceTermsList() {
		return PriceTermsList;
	}
	public void setPriceTermsList(List<Map<String, String>> priceTermsList) {
		PriceTermsList = priceTermsList;
	}
	public List<Map<String, String>> getDeductionList() {
		return DeductionList;
	}
	public void setDeductionList(List<Map<String, String>> deductionList) {
		DeductionList = deductionList;
	}
	/**
	 * 
	 * @param QuantityCode	结算数量指标	票重/净重
	 * @param QualityCode	结算质量依据	厂方/矿方
	 * @param GroupList		结算分组条件	Map<String,String> <key:rownum,value:?> <key:eval,value:?> <key:mode,value:Weighting/batch>
	 * @param PriceTermsList	结算价格条款	Map<String,String> <key:groupnum,value:?> <key:code,value:?> <key:eval,value:?>	<key:formula,value:?>
	 * @param DeductionList		结算增扣条款	Map<String,String> <key:groupnum,value:?> <key:code,value:?> <key:eval,value:?>	<key:formula,value:?>
	 * @throws UnsupportedEncodingException 
	 */
	public SettlementTemplate(List<Map<String,String>> GroupList, List<Map<String,String>> PriceTermsList, List<Map<String,String>> DeductionList) throws UnsupportedEncodingException{
		paraMap = new HashMap<String,String>();
		roundModeMap = new HashMap<String,String>();
		setGroupList(GroupList);
		setPriceTermsList(PriceTermsList);
		setDeductionList(DeductionList);
	}
	
	public SettlementTemplate(Map<String,String> paraMap, Map<String,String> roundmodeMap, List<Map<String,String>> GroupList, List<Map<String,String>> PriceTermsList, List<Map<String,String>> DeductionList) throws UnsupportedEncodingException{
		setParaMap(paraMap);
		setRoundModeMap(roundmodeMap);
		setGroupList(GroupList);
		setPriceTermsList(PriceTermsList);
		setDeductionList(DeductionList);
	}
	
	public SettlementTemplate(Map<String,String> paraMap, Map<String,String> roundmodeMap, Map<String,String> roundMap, List<Map<String,String>> GroupList, List<Map<String,String>> PriceTermsList, List<Map<String,String>> DeductionList) throws UnsupportedEncodingException{
		setParaMap(paraMap);
		setRoundModeMap(roundmodeMap);
		setRoundMap(roundMap);
		setGroupList(GroupList);
		setPriceTermsList(PriceTermsList);
		setDeductionList(DeductionList);
	}
	
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return super.toString();
	}
}
